A computer system may be equipped with a Universal Serial Bus (USB). USB ports allow USB-enabled devices to connect and communicate with the computer system. Examples of electronic devices that communicate with computer systems through USB ports include digital cameras, keyboards, hard drives, and printers.
A USB host is in charge of the USB bus in a computer system. The USB host is a collection of software and hardware inside the computer system that supports the USB bus. The USB host is typically responsible for identifying devices that are connected to a USB port. The USB host may then load any needed device drivers dynamically. Finally, the USB host may periodically poll each of the attached devices for data communications.